package com.gph.saviorframework.wf.service;

import com.gph.saviorframework.wf.model.ActivitiDefConfig;

import java.util.List;

/**
 * 流程配置接口
 *
 * @author guopeihui
 */
public interface ActivitiDefConfigService {

    /**
     * 保存流程定义配置
     * @param config
     */
    void save(ActivitiDefConfig config);

    /**
     * 批量保存流程定义配置
     * @param configs
     */
    void batchSave(List<ActivitiDefConfig> configs);

    /**
     * 更新流程定义配置
     * @param config
     */
    void update(ActivitiDefConfig config);

    /**
     * 根据编号获取配置信息
     * @param id
     * @return
     */
    ActivitiDefConfig get(String id);

    /**
     * 根据流程定义编号和任务编号获取流程配置信息
     * @param defId
     * @param taskId
     * @return
     */
    ActivitiDefConfig getByDefIdAndTaskId(String defId,String taskId);

    /**
     * 根据流程定义编号获取配置信息
     * @param defId
     * @return
     */
    List<ActivitiDefConfig> getByDefId(String defId);

    /**
     * 根据流程定义编号删除配置信息
     * @param defId
     */
    void deleteByDefId(String defId);

    /**
     * 根据编号删除配置信息
     * @param id
     */
    void delete(String id);
}
